package com.sh.data.engine.repository.dao.dataquality.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.sh.data.engine.repository.dao.base.EngineBaseModel;
import lombok.Data;

/**
 * @author tinglan.ys
 * @description:
 * @date 2022/2/17 下午4:37
 */
@Data
@TableName("tb_dataquality_rule")
public class DataQualityRuleEntity extends EngineBaseModel<DataQualityRuleEntity> {

    /**
     * 项目id
     */
    private Long projectId;

    /**
     * 分区表达式id
     */
    private Long partitionId;

    /**
     * 规则名称
     */
    private String ruleName;

    /**
     * 表id，来源于tbl_prop
     */
    private Long tblId;

    /**
     * 表名
     */
    private String tblName;

    /**
     * 字段名，多个字段名用逗号隔开
     */
    private String fieldNames;

    /**
     * 字段类型，多个字段名用逗号隔开
     */
    private String fieldTypes;

    /**
     * 规则强度 0-强 1-弱
     */
    private Integer ruleStrength;

    /**
     * 规则来源 0 内置模板规则 1 标准模板规则
     */
    private Integer ruleFrom;

    /**
     * 规则类型 0 字段级规则 1 表级规则
     */
    private Integer ruleType;

    /**
     * 规则模版id
     */
    private Long templateId;

    /**
     * 分类 0-完整性 1-准确性 2-唯一性 3-有效性
     */
    private Integer templateCategory;

    /**
     * 规则判断条件，json格式
     */
    private String ruleCondition;

    /**
     * 0-大于 1-大于等于 2-等于 3-小于 4-小于等于 5-不等于 6-属于 7-不属于
     */
    private String ruleCompareType;

    /**
     * 期望值
     */
    private String ruleExpectValue;

    /**
     * 是否是自定义规则 0-否 1-是
     */
    private Integer ruleDiy;

    /**
     * 统计方式 count sum max min avg
     */
    private String ruleDiyStatisticalModel;

    /**
     * 描述
     */
    private String remark;

    /**
     * 创建者用户名
     */
    private String createUsername;

    /**
     * 修改者用户名
     */
    private String updateUsername;

    /**
     * 过滤条件
     */
    private String templateFilter;

    /**
     * diySql
     */
    private String diySql;
}
